home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / Programming / AllPlaton / Unsorted / StreetRacer.AMOS / StreetRacer.amosSourceCode < prev   
Encoding:
AMOS Source Code  |  1994-03-02  |  2.0 KB  |  66 lines

  1. Hide 
  2. 'Load Iff "dh2:AMOSgfx/StreetRacerCars.iff",0
  3. 'For C=0 To 5
  4. '  For A=0 To 19 
  5. '    Get Sprite 20+C*20+A,A*16,C*16 To A*16+16,C*16+16 
  6. '    Hot Spot 20+C*20+A,$11
  7. '  Next  
  8. 'Next  
  9. WX=40 : WY=40
  10. Screen Open 0,WX*16,WY*16,2,0
  11. Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 0
  12. Screen Display 0,128,40,320,256
  13. Get Sprite Palette 
  14. For A=1 To 15 : Colour A+16, Colour(A) : Next 
  15. For A=0 To 99
  16.   Ink Rnd(15) : Draw Rnd(WX*16),Rnd(WY*16) To Rnd(WX*16),Rnd(WY*16)
  17. Next 
  18. Degree 
  19. Dim CAR(1,10),RT(39,1)
  20. PL=2
  21. CAR(0,8)=2 : CAR(1,8)=1
  22. '  X, Y,SX,SY,WX,WY,SP,RT,CT,OX,OY 
  23. '  0  1  2  3  4  5  6  7  8  9 10 
  24. For A=0 To 39
  25.   RT(A,0)=Sin(A*9)*128
  26.   RT(A,1)=-Cos(A*9)*128
  27. Next 
  28. MX=WX*16
  29. MY=WY*16
  30. SH=256/PL
  31. If PL=2
  32.   Screen Display 0,128,36,320,128
  33.   Screen Clone 1
  34.   Screen Display 1,128,172,320,128
  35. End If 
  36. Do 
  37.   Wait Vbl 
  38.   For C=0 To PL-1
  39.     Gosub CONTROL
  40.   Next 
  41.   If PL=1
  42.     C=0 : Sprite C*2,X Hard(C,CAR(C,0)/8-CAR(C,9)),Y Hard(C,CAR(C,1)/8-CAR(C,10)),CAR(C,8)*20+CAR(C,7)/2+C*60
  43.   Else 
  44.     X1=CAR(0,0)/8 : Y1=CAR(0,1)/8 : I1=CAR(0,8)*20+CAR(0,7)/2
  45.     X2=CAR(1,0)/8 : Y2=CAR(1,1)/8 : I2=CAR(1,8)*20+CAR(1,7)/2+60
  46.     Sprite 8,Min(Max(X Hard(0,X1-CAR(0,9)),112),464),Y Hard(0,Y1-CAR(0,10)),I1
  47.     Sprite 10,Min(Max(X Hard(0,X2-CAR(0,9)),112),464),Y Hard(0,Y2-CAR(0,10)),I2
  48.     Sprite 9,Min(Max(X Hard(1,X1-CAR(1,9)),112),464),Y Hard(1,Y1-CAR(1,10)),I1
  49.     Sprite 11,Min(Max(X Hard(1,X2-CAR(1,9)),112),464),Y Hard(1,Y2-CAR(1,10)),I2
  50.   End If 
  51. Loop 
  52. CONTROL:
  53.   If Jup(1-C) Then CAR(C,6)=Min(CAR(C,6)+2,24)
  54.   If Jdown(1-C) Then CAR(C,6)=Max(CAR(C,6)-3,-4)
  55.   If Jleft(1-C) Then Add CAR(C,7),-1,0 To 39
  56.   If Jright(1-C) Then Add CAR(C,7),1,0 To 39
  57.   CAR(C,4)=(RT(CAR(C,7),0)*CAR(C,6))/64
  58.   CAR(C,5)=(RT(CAR(C,7),1)*CAR(C,6))/64
  59.   CAR(C,2)=Min(Max((CAR(C,2)*3+CAR(C,4))/4,-32),32)
  60.   CAR(C,3)=Min(Max((CAR(C,3)*3+CAR(C,5))/4,-32),32)
  61.   CAR(C,0)=Min(Max(CAR(C,0)+CAR(C,2),80),MX*8-80)
  62.   CAR(C,1)=Min(Max(CAR(C,1)+CAR(C,3),80),WY*128-80)
  63.   CAR(C,9)=Min(Max(CAR(C,0)/8-160,0),MX-320)
  64.   CAR(C,10)=Min(Max(CAR(C,1)/8-SH/2,0),MY-SH)
  65.   Screen Offset C,CAR(C,9),CAR(C,10)
  66. Return